#ifndef WS2812_H
#define WS2812_H

#include "stm32f1xx_hal.h"

// 定义LED数量
#define LED_NUM 1

//IO口
#define WS2812_GPIO_Port GPIOB
#define WS2812_Pin GPIO_PIN_10

// 定义颜色结构体
typedef struct {
    uint8_t green;
    uint8_t red;
    uint8_t blue;
} WS2812_Color_t;

// 函数声明
void WS2812_Init(TIM_HandleTypeDef *htim);
void WS2812_SetColor(uint16_t index, WS2812_Color_t color);
void WS2812_SetColorRGB(uint16_t index, uint8_t red, uint8_t green, uint8_t blue);
void WS2812_Update(void);
void WS2812_Clear(void);
void WS2812_RainbowEffect(uint32_t delay_ms);
#endif // WS2812_H